/**
 * 用户接口定义
 * 作者：GodMainCode
 * 创建时间：2024-01-17
 * 修改时间：2024-01-17
 * 修改人：GodMainCode
 */

// 基础用户接口
export interface IUser {
  id: number;
  username: string;       // 用户名
  password: string;       // 密码
  email?: string;        // 邮箱
  status: number;        // 状态：0-禁用 1-启用
  created_at: Date;      // 创建时间
  updated_at: Date;      // 更新时间
  is_deleted: number;    // 是否删除：0-否 1-是
}

// 用户详情接口（包含角色信息）
export interface IUserDetail extends Omit<IUser, 'password'> {
  roles: number[];       // 角色ID列表
}

// 用户创建接口
export interface ICreateUser {
  username: string;
  password: string;
  email?: string;
  roleIds?: number[];    // 角色ID列表
}

// 用户更新接口
export interface IUpdateUser extends Partial<Omit<ICreateUser, 'password'>> {
  newPassword?: string;  // 新密码
}

// 用户登录接口
export interface IUserLogin {
  username: string;
  password: string;
}

// 用户登录响应接口
export interface ILoginResponse {
  access_token: string;
  user: IUserDetail;
} 